# 编写读取登陆数据文件的函数
import json


def read_login_data(filename):
    """
    :param filename: 外部文件的文件路径
    :return:
    """
    # 打开文件
    with open(filename, mode='r', encoding='utf-8') as f:
        # 把文件内容转化成json数据格式
        jsonData = json.load(f)
        # 把json数据（列表字典数据）转化成列表元组数据
        result_list = list()  # 空列表
        for per_login_data in jsonData:
            result_list.append(tuple(per_login_data.values()))  # 将每一组字典数据的value转化成元组并添加到空列表当中，完成列表字典转化为列表元组的操作

        print("转化为列表元组的数据是：", result_list)
        # 返回结果
        return result_list

def read_emp_data(filename, key=None):
    """
    :param filename: 外部传入的数据文件路径
    :param key: 数据文件中的每个接口的key（query_emp_list，add_emp，query_emp，modify_emp，delete_emp）
    :return:
    """
    with open(filename, mode='r', encoding='utf-8') as f:
        # 把文件内容转化成json数据格式
        jsonData = json.load(f)
        # 把json数据（列表字典数据）转化成列表元组数据
        result_list = list()  # 空列表
        for per_emp_data in jsonData:
            temp_data = per_emp_data.get(key)
            result_list.append(tuple(temp_data.values()))  # 将每一组字典数据的value转化成元组并添加到空列表当中，完成列表字典转化为列表元组的操作

        print(f"员工模块{key}转化为列表元组的数据是：", result_list)
        # 返回结果
        return result_list


def read_department_data(filename, key=None):

    with open(filename, mode='r', encoding='utf-8') as f:
        # 把文件内容转化成json数据格式
        jsonData = json.load(f)
        # 把json数据（列表字典数据）转化成列表元组数据
        result_list = list()  # 空列表
        for per_department_data in jsonData:
            temp_data = per_department_data.get(key)
            result_list.append(tuple(temp_data.values()))  # 将每一组字典数据的value转化成元组并添加到空列表当中，完成列表字典转化为列表元组的操作

        print(f"部门模块{key}转化为列表元组的数据是：", result_list)
        # 返回结果
        return result_list


if __name__ == '__main__':
    filename = "./data/login_data.json"
    read_login_data(filename)
    filename = "./data/emp_data.json"
    read_emp_data(filename, "add_emp")
    filename = "./data/department_data.json"
    read_department_data(filename, "add_department")
